1. Field of the Invention
This invention relates to the definition and generation of interactive computer display panels by application programs. More specifically, it relates to the definition and generation of a plurality of interactive display panels from a single panel definition source file.
2. Background Art
The application program orchestrates the PC or workstation computer to perform the combination of functions or jobs which the user needs it to perform. The interactive display screen has traditionally been the means through which the user provides his input to the application program and the application program provides its output to the user. Originally, this interface was a relatively complex one requiring a user who was computer literate. He had to be familiar with the exact instructions needed to input or extract data from the application program. However, with the proliferation of PC and workstation users who were not very computer literate, the trend has been to make the interface as user friendly as possible. Screen panels explaining simply every I/O step relative to the application program and help screen with further information were available at the touch of a key, and icons were included to increase the user's familiarity and recollection.
It followed, however, that as the interfaces became more and more friendly and simplified, the design of the sets of screen panels required for such user friendly interfaces became more and more time consuming, complex and tedious. For example, an I/O exchange with an application program which if designed for a computer literate user might consume one or two panels, could require 10 or 15 panels with layouts which are relatively complex to design when used for a user friendly interface with a user who knew little about computer languages.
It was not unusual for designers of user friendly interfaces with application programs to have to design several hundred or more screen panels in order to provide a user friendly interface with that application program. This presented a lengthy and tedious task for the display screen panel designer. He usually had to design each panel individually, almost exactly laying out each of the components in the panel along selected X,Y coordinates. This further required a fair amount of layout skills on the part of the designer in order to provide some consistency in layouts from panel to panel.
Thus, it can be seen that the creation of a set of panels used to implement the I/O interface with an application program required a considerable expenditure of resources. It often required a lengthy and tedious effort by an individual who had both considerable computer skills as well as layout and graphical skills.
Various attempts have been made in the prior art to address useability issues arising in panel definition and generation by application programs. The following are illustrative of conventional techniques. IBM Technical Disclosure Bulletin, Vol. 30, No. 10, March 1988, p. 215, "USER-ORIENTED IN-LINE PANEL DEFINITION". IBM Technical Disclosure Bulletin, Vol. 28, No. 1, June 1985, p. 117, "PC COMPOSITE SCREEN DISPLAY". IBM Technical Disclosure Bulletin, Vol. 32, No. 6B, November 1989, p. 77, "PANEL ELEMENT CONDITIONING WITH TRUTH TABLES". IBM Technical Disclosure Bulletin, Vol. 32, No. 8B, January 1990, p. 257, "VARIABLE WINDOWING IMPLEMENTATION". IBM Technical Disclosure Bulletin, Vol. 31, No. 8, January 1989, p. 236, "DEFAULT PANEL CONCEPT". IBM Technical Disclosure Bulletin, Vol. 31, No. 6, November 1988, p. 333, "SELECTING ALL TO POPULATE FIELD NAMES IN POP-UP PANELS".
In the prior art, when different panels were required, no matter how similar some might be, separate panel source files were required. This results in requirements for multiple updates if a common element on several panels change. It also results in increased translation costs for products that must be translated into other languages since common elements must be retranslated for each panel. Also, additional storage is required in many cases since more panel images will appear on the storage media.
The prior art has addressed this storage problem in a nonstructured way by making certain panel elements invisible and others visible. This results in requirements to make the panel size and layout fit worst-case conditions which has not been acceptable to the user in many situations.
By creating the layout and size based on the panel variations, the amount of time and perceived user delay becomes a potential problem. To date, complex panel layouts wherein the time to calculate the layout and become a serious factor have not been attempted.